home *** CD-ROM | disk | FTP | other *** search
- * DATE 08/31/84 21:54
- * report.bld
- STOR t TO more
- DO WHIL more
- STOR CHR(PEEK (063)) TO dr
- REST from coname additive
- ERAS
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO command
- TEXT
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- * *
- * *
- * *
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- * *
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- * Please select one of the above options. You may also leave this menu *
- * by typing 'Q' and get on-line HELP by typing '?'. *
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- ENDT
- @ 3,04 SAY coname + " - BUILDING REPORT MENU"
- @ 3,65 SAY DATE()
- @ 7,29 SAY "A. Rent bills"
- @ 8,29 SAY "B. Tenant roster"
- @ 9,29 SAY "C. Delinquency report"
- @ 10,29 SAY "D. Tenant mailing labels"
- @ 11,29 SAY "E. Vacancy list"
- @ 12,29 SAY "F. Lease expiration and flag report"
- @ 13,29 SAY "G. Return to Main Menu"
- @ 15,23 SAY "PLEASE SELECT ONE OF THE OPTIONS"
- @ 15,58 GET command PICTURE '!'
- READ
- DO WHIL @(COMMAND, 'ABCDEFG?Q') = 0
- STOR '?' TO command
- @ 15,58 GET command PICTURE '!'
- READ
- ENDD
- CLEA GETS
- IF command >='B' .AND. command < 'G'
- @ 17,00
- @ 17,00 SAY " * Send Report to the Printer (Y/N) *"
- @ 17,55 GET printer PICTURE '!'
- READ
- @ 18,00 SAY " * Send Report to a Disk File (Y/N) *"
- @ 18,55 GET disk PICTURE '!'
- READ
- IF disk ='Y'
- @ 17,00
- @ 18,00
- @ 17,00 SAY " * Enter Disk File Name *"
- @ 17,34 GET filename PICTURE '!!!!!!!!'
- @ 17,44 SAY "(.TXT will be added )"
- @ 18,00 SAY ' * *'
- READ
- @ 18,00 SAY ' * Select drive to put Files on *'
- @ 18,55 GET dr PICTURE '!'
- READ
- DO WHIL @(dr,'AB') = 0
- @ 18,00
- @ 18,00 SAY ' * Select drive to put Files on *'
- @ 18,55 GET dr PICTURE '!'
- READ
- ENDD while @
- ENDI disk = Y
- STOR LEN(coname)/2 TO L
- STOR 40-L TO L
- STOR ' ' TO bl
- STOR $(bl,1,L) + coname TO coname
- IF printer = 'Y'
- @ 17,00
- @ 18,00
- @ 17,00 SAY ' * MAKE PRINTER READY AND HIT ANY KEY *'
- @ 18,00 SAY ' * *'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- SET print ON
- ENDI printer = Y
- IF disk = 'Y' .AND. filename <> ' '
- * make a proper REPORT file name that is of type TXT
- STOR @('.',filename) TO length
- IF length = 0 .OR. length > 8
- STOR 9 TO length
- ENDI length
- STOR $(filename,1,length-1) TO filename
- STOR '&dr.:'+filename+'.TXT' TO filename
- SET ALTERNATE TO &filename
- SET ALTERNATE ON
- ENDI disk = Y and filename <> ''
- ENDI command
- ERAS
- DO CASE
- CASE command = 'A'
- SET PRINT OFF
- * rent bills
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:build
- SET INDEX TO &dr.:code
- ERAS
- TEXT
-
- This module prepares the rent bills. If the
- rents for the month have not been posted and
- the new rents not accrued please take care of
- that before you run this program.
-
- The form set up is for UARCO C599 and envelope
- EN81. Form length is 7 inches.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ENDT
- STOR 'Y' TO command
- @ 10,20 SAY 'ARE YOU READY TO PROCEED ? '
- @ 10,50 GET command PICTURE '!'
- READ
- IF COMMAND = 'Y'
- SET confirm on
- STOR ' ' TO build
- @ 12,10 SAY "What building shall we prepare bills for ('99' for all) "
- @ 12,70 GET build PICTURE '99'
- READ
- IF build <> '99'
- FIND &build
- DO WHIL # = 0
- @ 12,70 GET build PICTURE '99'
- READ
- FIND &build
- ENDD WHILE #
- ELSE
- GO TOP
- ENDI build <> '99'
- STOR ' ' TO month
- @ 13,10 SAY "For what month "
- @ 13,40 GET month PICTURE '!XXXXXXXX'
- READ
- @ 16,10 SAY 'Hit any key when the printer is on and the proper paper loaded'
- @ 17,10 SAY 'with the top of the form at the level of the print head.'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- SET PRINT ON
- ERAS
- STOR t TO bigloop
- DO WHIL BIGLOOP .AND(.NOT. EOF)
- IF build <> '99'
- STOR f TO bigloop
- ELSE
- STOR # TO rec:no
- ENDI build <> '99'
- STOR bcode TO mbcode
- STOR baddr TO mbaddr
- STOR $(bcity,1,22) + ' ' + $(bcity,23,5) TO mbcity
- STOR remit TO mremit
- STOR remitad TO mremitad
- STOR remitc TO mremitc
- STOR phone TO mphone
- STOR checks TO mchecks
- SELE SECONDARY
- USE &dr.:tenant
- SET index TO &dr.:codea
- FIND &mbcode
- DO WHIL $(bcode,1,2) = mbcode .AND.(.NOT. EOF)
- IF tenant <> ' '
- STOR 0 TO line
- STOR 0 TO mtotal
- STOR trent TO trentx
- IF ttype = 'P'
- IF (trentpc*(trentpcr/100)/12)>trent
- STOR (trentpc*(trentpcr/100)/12) TO trentx
- ENDI (trentpc)
- ENDI ttype = 'P'
- IF ttype = 'O'
- STOR ((trentpc*(trentpcr/100)/12)+trent) TO trentx
- ENDI ttype = 'O'
- ? ' '
- ? ' ' + mremit
- ? ' ' + mremitad
- ? ' ' + mremitc
- ? ' '
- ? ' '
- ? ' PLEASE SEND CHECKS TO ABOVE ADDRESS PAYABLE TO:'
- ? ' ' + mchecks
- ? ' '
- ? ' '
- ? ' '
- ? ' '
- ? ' ' + tenant + ' Unit ' +tunit
- IF alt = 'Y'
- ? ' ' + altad
- ? ' ' + altcty
- ELSE
- ? ' ' + mbaddr
- ? ' ' + mbcity
- ENDI alt
- ? ' '
- ? ' '
- ? ' R E N T S T A T E M E N T'
- ? ' '
- ? ' '
- ? ' Refer inquiries to ' + mphone
- ? ' '
- ? ' '
- IF trentp > 0
- ? ' Paid ' + trentpd + '. THANK YOU '+STR(trentp,12,2)
- STOR line + 1 TO line
- ENDI trentp > 0
- ? ' Unpaid balance ' + date() + ' '+STR(trentd,12,2)
- STOR mtotal + trentd TO mtotal
- ? ' '
- IF ttype = 'P' .OR. ttype = 'O'
- ? ' Base Rent ' + STR(trent,12,2)
- ENDI ttype
- ? ' Base Rent for the month of ' + month + ' '+STR(trentx,12,2)
- STOR mtotal + trentx TO mtotal
- IF trente > 0
- ? ' Electricity '+ STR(trente,12,2)
- STOR mtotal + trente TO mtotal
- STOR line + 1 TO line
- ENDI trente
- IF trentm > 0
- ? ' Miscellaneous charges '+STR(trentm,12,2)
- STOR mtotal + trentm TO mtotal
- STOR line + 1 TO line
- ENDI trentm > 0
- IF taddl > 0
- ? ' Additional charges '+STR(taddl,12,2)
- STOR mtotal + taddl TO mtotal
- STOR line + 1 TO line
- ENDI taddl >0
- ? ' '
- ? ' TOTAL DUE $'+STR(mtotal,12,2)
- STOR mtotal + tlatec TO mtotal
- ? ' '
- ? ' '
- ? ' AFTER ' + TRIM(!(month)) + ' ' +tlate + ' PAY - $ '+STR(mtotal,12,2)
- STOR 11- line TO line1
- DO WHIL line1 > 0
- ? ' '
- STOR line1 - 1 TO line1
- ENDD
- ENDI tenant <> ' '
- SKIP
- ENDD WHILE $(bcode)
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- IF bigloop
- GO rec:no
- SKIP
- ENDI bigloop
- ENDD WHILE .NOT. EOF
- ENDI command = 'Y'
- EJEC
- SET PRINT OFF
- SET CONFIRM off
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:build
- SET INDEX TO &dr.:code
- CASE command = 'B'
- * tenant roster
- STOR CHR(PEEK(063)) TO dr
- SELE SECONDARY
- USE &dr.:tenant
- SET INDEX TO &dr.:codea
- ERAS
- * initialize variables
- STOR 0 TO pageno
- STOR 0 TO counter
- STOR 0 TO counter1
- STOR 0 TO additup
- STOR ' ' TO mtenant
- SET MARGIN TO 3
- GO TOP
- STOR t TO more1
- DO WHIL more1
- * do page counter etc
- STOR pageno + 1 TO pageno
- STOR 4 TO lineno
- ERAS
- ? ' '
- IF pageno = 1
- ? coname
- ? ' TENANT REPORT'
- ? ' '
- ? 'Report of ' +date() + '.'
- STOR lineno + 4 TO lineno
- ENDI pageno = 1
- ? ' ' + 'PAGE ' + STR(pageno,2)
- ? ' Tenant ' + 'Code '+ ' Unit ' + ' Expires' + ' Rent'
- ? "----------------------------------------------------------------------------"
- ? ' '
- * now fill up rest of page to 50 lines with entries
- DO WHIL lineno < 50
- * now do a page if not end of file
- DO WHIL .NOT. EOF
- STOR tenant TO mtenant
- IF tenant = ' '
- STOR 'VACANT ' TO mtenant
- ENDI
- ? mtenant + ' ' + bcode + ' ' + tunit + ' ' + texpir +' ' + STR(trent,9,2)
- STOR lineno +1 TO lineno
- STOR additup + trent TO additup
- STOR counter1 + 1 TO counter1
- SKIP
- ENDD WHILE .NOT. EOF
- STOR f TO more1
- STOR 60 TO lineno
- ENDD while lineno < 50
- ? ' '
- ? "----------------------------------------------------------------------------"
- ? ' '
- ? ' TOTAL NUMBER OF RENTAL UNITS: ' + STR(counter1,3)
- ? ' RENT ROLL: $' + STR(additup,10,2)
- ? ' '
- ENDD more1
- * if it was on turn it off
- EJEC
- SET PRINT OFF
- SET ALTERNATE OFF
- ? ' Hit any key to continue..........'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- CASE command = 'C'
- * tenant delinquency report
- STOR CHR(PEEK(063)) TO dr
- SELE SECONDARY
- USE &dr.:tenant
- SET INDEX TO &dr.:codea
- GO TOP
- * initialize variables
- STOR 0 TO pageno
- STOR 0 TO counter
- STOR 0 TO counter1
- STOR t TO more1
- STOR 0 TO additup
- SET MARGIN TO 3
- LOCA FOR trentd > 0
- IF EOF
- STOR f TO more1
- ENDI EOF
- DO WHIL more1
- * do page counter etc
- STOR pageno + 1 TO pageno
- STOR 4 TO lineno
- ERAS
- ? ' '
- * and write TITLE
- IF pageno = 1
- ? coname
- ? ' TENANT DELINQUENCY LIST'
- ? ' '
- ? 'Report of ' +date() + '.'
- STOR lineno + 4 TO lineno
- ENDI pageno = 1
- ? ' ' + 'PAGE ' + STR(pageno,2)
- ? ' Tenant ' + 'Code '+ 'Late Date' + ' Due'
- ? "----------------------------------------------------------------------------"
- ? ' '
- * now fill up rest of page to 50 lines with entries
- DO WHIL lineno < 50
- * now do a page if not end of file
- IF .NOT. EOF
- IF tlate < $(date(),4,2)
- ? tenant + ' ' + bcode + ' ' + tlate + ' ' + STR(trentd,9,2)
- STOR lineno +1 TO lineno
- STOR additup + trentd TO additup
- STOR counter1 + 1 TO counter1
- CONT
- ELSE
- CONT
- ENDI tlate
- ELSE
- STOR f TO more1
- STOR 60 TO lineno
- ENDI not EOF
- ENDD while lineno < 50
- ? ' '
- ? "----------------------------------------------------------------------------"
- ? ' '
- ? ' TOTAL NUMBER OF DELINQUENCIES: ' + STR(counter1,3)
- ? ' TOTAL DOLLAR AMOUNT DELINQUENT: $' + STR(additup,10,2)
- ? ' '
- ENDD more1
- * if it was on turn it off
- EJEC
- SET PRINT OFF
- SET ALTERNATE OFF
- ? ' Hit any key to continue.........'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- CASE command = 'D'
- * tenant labels
- * adjust for printer
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:build
- SET INDEX TO &dr.:code
- GO TOP
- STOR t TO more2
- DO WHIL more2 .AND. (.NOT. EOF)
- STOR # TO rec:no
- STOR bcode TO mbcode
- STOR baddr TO mbaddr
- STOR $(bcity,1,22) + ' ' + $(bcity,23,5) TO mbcity
- SELE SECONDARY
- USE &dr.:tenant
- SET INDEX TO &dr.:codea
- FIND &mbcode
- STOR $(bcode,1,2) TO mtcode
- DO WHIL mtcode = mbcode .AND. (.NOT. EOF)
- IF tenant <> ' '
- ? ' '
- ? TRIM(tenant) + ' ' + tunit
- ? mbaddr
- ? mbcity
- ? ' '
- ENDI tenant
- SKIP
- STOR $(bcode,1,2) TO mtcode
- ENDD WHILE mtcode
- SELE PRIMARY
- USE &dr.:build
- SET INDEX TO &dr.:code
- GO rec:no
- SKIP
- IF EOF
- STOR f TO more2
- ENDI
- ENDD WHILE more2 .AND. (.NOT. EOF)
- EJEC
- SET PRINT OFF
- SET ALTERNATE OFF
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- CASE command = 'E'
- * vacancy report
- STOR CHR(PEEK(063)) TO dr
- SELE SECONDARY
- USE &dr.:tenant
- SET INDEX TO &dr.:codea
- GO TOP
- * initialize variables
- STOR 0 TO pageno
- STOR 0 TO counter
- STOR 0 TO counter1
- STOR 0 TO additup
- SET MARGIN TO 3
- LOCA FOR tenant = ' '
- IF .NOT. EOF
- STOR t TO more1
- ELSE
- STOR f TO more1
- ENDI .NOT. EOF
- DO WHIL more1
- * do page counter etc
- STOR pageno + 1 TO pageno
- STOR 4 TO lineno
- ERAS
- ? ' '
- * and write TITLE
- IF pageno = 1
- ? coname
- ? ' VACANCY REPORT'
- ? ' '
- ? 'Report of ' +date() + '.'
- STOR lineno + 4 TO lineno
- ENDI pageno = 1
- ? ' ' + 'PAGE ' + STR(pageno,2)
- ? ' Building ' + 'Code '+ 'Unit ' + ' Last Rent'
- ? "----------------------------------------------------------------------------"
- ? ' '
- * now fill up rest of page to 50 lines with entries
- DO WHIL lineno < 50
- * now do a page if not end of file
- ? baddr + ' ' + bcode + ' ' + tunit + ' ' + STR(trent,9,2)
- STOR lineno +1 TO lineno
- STOR additup + trent TO additup
- STOR counter1 + 1 TO counter1
- CONT
- IF EOF
- STOR f TO more1
- STOR 60 TO lineno
- ENDI not EOF
- ENDD while lineno < 50
- ? ' '
- ? "----------------------------------------------------------------------------"
- ? ' '
- ? ' TOTAL NUMBER OF VACANCIES: ' + STR(counter1,3)
- ? ' TOTAL DOLLAR AMOUNT VACANCIES: $' + STR(additup,10,2)
- ? ' '
- ENDD more1
- * if it was on turn it off
- EJEC
- SET PRINT OFF
- SET ALTERNATE OFF
- ? ' Hit any key to continue................'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- CASE command = 'F'
- * lease expiration report
- STOR CHR(PEEK(063)) TO dr
- SELE SECONDARY
- USE &dr.:tenant
- SET INDEX TO &dr.:codea
- ERAS
- STOR date() to exdate
- @ 10,10 SAY 'What is the cutoff date for the report ? '
- @ 10,55 GET exdate PICTURE '99/99/99'
- READ
- STOR $(exdate,7,2) + $(exdate,1,2) + $(exdate,4,2) TO expdate
- * initialize variables
- STOR 0 TO pageno
- STOR 0 TO counter
- STOR 0 TO counter1
- STOR 0 TO additup
- SET MARGIN TO 1
- GO TOP
- STOR t TO more1
- DO WHIL more1
- * do page counter etc
- STOR pageno + 1 TO pageno
- STOR 4 TO lineno
- ERAS
- ? ' '
- IF pageno = 1
- ? coname
- ? ' LEASE EXPIRATION AND FLAG REPORT'
- ? ' '
- ? 'Report of ' +date() + '.'
- STOR lineno + 4 TO lineno
- ENDI pageno = 1
- ? ' ' + 'PAGE ' + STR(pageno,2)
- ? ' Tenant ' + 'Code '+ ' Unit ' + ' Flag'+' Expires'+ ' Rent'
- ? "----------------------------------------------------------------------------"
- ? ' '
- * now fill up rest of page to 50 lines with entries
- DO WHIL lineno < 50
- * now do a page if not end of file
- DO WHIL .NOT. EOF
- STOR $(texpir,7,2) + $(texpir,1,2) + $(texpir,4,2) TO mwxpir
- STOR $(tflag,7,2) + $(tflag,1,2) + $(tflag,4,2) TO flagex
- IF flagex = ' '
- STORE '999999' TO flagex
- ENDIF flagex
- IF VAL(mwxpir) < VAL(expdate) .OR. VAL(flagex) < VAL(expdate)
- ? tenant + ' ' + bcode + ' ' + tunit +' '+ tflag +' '+ texpir +' ' + STR(trent,9,2)
- STOR lineno +1 TO lineno
- STOR additup + trent TO additup
- STOR counter1 + 1 TO counter1
- ENDI VAL(mwexpir)
- SKIP
- ENDD WHILE .NOT. EOF
- STOR f TO more1
- STOR 60 TO lineno
- ENDD while lineno < 50
- ? ' '
- ? "----------------------------------------------------------------------------"
- ? ' '
- ? ' TOTAL FLAGGED AND/OR EXPIRING LEASES: ' + STR(counter1,3)
- ? ' TOTAL DOLLAR AMOUNT OF LEASES: $' + STR(additup,10,2)
- ? ' '
- ENDD more1
- * if it was on turn it off
- EJEC
- SET PRINT OFF
- SET ALTERNATE OFF
- ? ' Hit any key to continue..........'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- RELE ALL
- ERAS
- STOR t TO more
- STOR 'Y' TO printer
- STOR 'N' TO disk
- STOR ' ' TO filename
- STOR '?' TO select
- STOR CHR(PEEK(063)) TO dr
- SELE PRIMARY
- USE &dr.:BUILD
- SET INDEX TO &dr.:code
- CASE command = '?'
- ERAS
- TEXT
-
- R E P O R T M E N U H E L P F I L E
-
- The various reports are self explanatory. You should note, however, that
- the rent bills must be sent to the printer. All of the other reports can
- be sent to the printer, viewed on screen or written to a disk file (or
- any combination thereof).
-
- A certain amount of customization may be required for your bills and for
- your labels. All of this is pretty well set forth in the program text.
- (Type REPORT.BLD to find the correct name of the report program you must
- edit.)
-
- We assume that the rent bills will use the UARCO form we are using. If that
- is not the case, you will have to adjust it, but adjustments are rather
- easy. You can also print the form on plain paper. The ledger and journal
- printing programs have a module to input and center text.
-
-
- Please hit any key to return to the menu
-
-
- ENDT
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- CASE (command = 'G' .OR. COMMAND = 'Q')
- STOR f TO more
- ENDC
- SET PRINT OFF
- SET ALTERNATE OFF
- ENDD while more
- RELE ALL
- STOR t TO keepitup
- STOR t TO more
- STOR t TO first
- STOR 0 TO box
- RETU